home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d2
/
romscan.arc
/
ROMSCAN.C
< prev
next >
Wrap
Text File
|
1990-07-03
|
1KB
|
53 lines
/*-------------------------------------------------------------------------*/
/* ROMScan.C - Searches PC/XT/AT systems for add-on ROMS then displays */
/* starting addresses and sizes of ROMs. */
/* Rick Allen */
/*-------------------------------------------------------------------------*/
typedef unsigned char byte;
typedef unsigned int word;
struct ROM {
word Signature;
byte SizeIndex;
word filler;
char Data;
};
struct ROM huge *ROMPtr;
byte huge *Addr;
char huge *ptr;
byte x;
word Size;
/*-------------------------------------------------------------------------*/
main()
{
clrscr();
Addr = (byte huge *)0xC0000000; /* START SEARCH ADDRESS */
while (Addr < (byte huge *)0xF0000000) {
ROMPtr = (struct ROM huge *)Addr;
if (ROMPtr->Signature == 0xAA55) { /* 0xAA55 IS ROM SIGNATURE */
textattr(11);
Size = ROMPtr->SizeIndex * 512; /* PRINT ADDRESS RANGE */
cprintf("\nROM at %Fp to %Fp\n\r", Addr, Addr+Size-1);
textattr(31);
ptr = &ROMPtr->Data; /* PRINT ASCII DATA OF ROM */
for (x=0; x<160; x++) {
(*ptr>=33 && *ptr<=127) ? putch(*ptr) : putch(' ');
ptr++;
}
}
Addr += 2048; /* INCREMENT Addr BY 2k */
}
}